iT邦幫忙

2023 iThome 鐵人賽

DAY 26
1

解讀資料這件事的歷史很長,它已經被科學家、統計學家、圖書館館員、計算機科學家以及其他人士討論多年。

--- 資料科學極簡史 (A Very Short History Of Data Science)

在訪談過數個資料分析師與讀過一些文獻之後,我發現,資料分析的方法非常多元。在眾多的方法論之中,有三種方法算是泛用型的,它們之中有些甚至不需要太多的數學,而且可以應用於各個領域。靈活運用之後,可協助分析師快速增加對資料的掌握、甚至找到有趣的洞見。

  1. 探索式資料分析
  2. 橫向分析與年輪分析
  3. 費米估算

探索式資料分析 (exploratory data analysis)

在三種方法裡,探索式資料分析是最常應用的方法,它可以讓我們對資料產生進一步的了解,它由下列幾個步驟構成。

  1. 鑑別變數
  2. 處理缺值
  3. 處理極端值
  4. 單變數分析
  5. 成對變數分析

鑑別變數 (variable identification)

以下表的資料為例,如果我們最感興趣的目標是學生的數學成績 (Math grade),比方說,我們想要預測學生的數學成績。那這個變數 Math grade 就成為了目標變數 (target variable)、又可稱為輸出變數 (output variable)。其它也許可以用來預測數學成績的變數,可以稱之為預測變數 (predictor variable),又稱之為輸入變數 (input variable)。

同時,變數也可以做分類:

  • 成績的變數,屬於連續變數 (continuous)
  • 而性別的變數,則屬於類別 (categorial)。
Student ID Gender Chinese grade Math grade IQ Habit in sport
001 M 90 98 88 Yes
002 F 45 34 80 No
003 M 78 50 90 No

處理缺值 (missing values treatment)

資料常常不是乾淨的,這步驟要設法處理缺值的情況,以讓後續的分析可以有乾淨的資料。

最簡單的兩種方法:

  1. 一旦資料列有任何一欄缺值,就直接刪去整個資料列
  2. 內插法插值

也還有其它更進階的技巧,比方說,使用預測模型來做內插。

處理極端值 (outlier treatment)

有少數的資料會有極端值,比方說,在討論收入資料的時候,首富的收入會是極端值,一旦納入平均計算之後,就會大大地拉高平均值。而在了解整體趨勢時,先刪除極端值是很有幫助的。

單變數分析 (univariate analysis)

用常見的統計方法,來看平均值、最大值、最小值、中位數、標準差等。

成對變數分析 (bi-variate analysis)

這個分析是要看出變數與變數之間的關聯性,可以分成三種方式操作:

  1. 對任意兩組連續變數,用相關係數公式計算它們的相關性。
  2. 對任兩個類別,用 two-way table 來比較之。
  3. 對一個連續變數、一個類別,可以考慮使用 Z-Test, T-test

註:嚴謹的探索式資料分析,可以考慮使用 R 語言之類的軟體來做,上述專業統計軟體會提供很多的工具與函式庫。另一方面,而初學者或是想省事的話,也可以參考本系列文的Metabase - 自動分析

橫向分析 (cross sectional analysis) 與年輪分析 (cohort analysis)

當資料隨時間而變化時,要了解資料,最直接的方式是先選擇某個特定的時間,取出該時間點的所有的資料來做分析,這種方式稱之為橫向分析。

比方說,像一般生育率 (general fertility rate) 的計算方式是:當年度每 1000 名 15 ~ 49 歲育齡婦女的活產嬰兒數,這就是一種橫向分析

然而,以生育率的這個例子來講,常識告訴我們,現代化國家的國民會推遲結婚年齡與生育年齡,也因此,橫向分析未必可以最清楚地呈現生育的趨勢,因為看到生育率數字下降了,卻還無法判斷,這個生育率數字下降到底是因為不生小孩、還是晚生小孩。

另一種呈現生育率的方式則是世代生育率 (cohort fertility rate),它的作法是追蹤所有相同年齡的婦女,計算他們一輩子的生育總量。也因此,每一個年齡會對應一組世代生育率。在這種計算方式之下,就算許多婦女晚婚晚生,只要最後生育的總數一樣,計算出來的世代生育率會是相同的。世代生育率是一種年輪分析

費米估算 (Fermi Estimation)

前面兩種資料分析的方式,近似於歸納法:「先有資料,然後從資料之中設法歸納、分析找出模式。」然而,在實務之中,資料常常不是自動存在的,而是我們要積極主動去蒐集才會取得,換言之,我們要能先設想,大概需要哪些資料,然後積極地去蒐集,才會有資料可以利用。

費米估算恰好與前兩種方法相反,它比較近似於演繹法:「先利用既有的常識推估出模型,之後根據模型去蒐集資料即可計算關鍵結果。」

在商業上,費米估算的最常見應用,可能是針對利潤、營收來做費米估算,之後再來去蒐集、改善哪些資料。比方說:

  1. 利潤 =(售價-變動成本)x 銷售數量 - 固定成本
  2. 利潤 =(顧客平均營收-顧客平均獲取成本-顧客平均服務成本) x 顧客人數
  3. 營收 = 業務人員總拜訪數 x 平均轉換率 x 平均成交價格

後記

許多人認為,做資料分析需要數學很好、需要利用很複雜的演算法,覺得自己的強項不是數學,也因此不太敢投身進入這個產業。

違反直覺的事情是,最重要的事情其實是資料的品質。不論規模都適用的原則是:「簡單的方法搭配高品質的資料」遠勝於「複雜的方法搭配低品質的資料」。


其它資源

  1. 對 dbt 或 data 有興趣 👋?歡迎加入 dbt community 到 #local-taipei 找我們,也有實體 Meetup 請到 dbt Taipei Meetup 報名參加
  2. 歡迎訂閱 PruningSuccess 電子報,主要談論軟體開發、資料處理、資料分析等議題。

上一篇
實務應用:異質資料整合/即時報表/io/join
下一篇
實務應用:成效相關的分析方法
系列文
當代資料工程與資料分析30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言